1. Field of the Invention
The present invention relates generally to computer software. More particularly, the present invention relates to methods and apparatus for implementing a picture-in-picture capability within a digital television.
2. Description of the Related Art
The digital television revolution is one of the most significant events in the history of broadcast television. With the advent of digital television, high speed data transfer is possible via satellite, cable and terrestrial television channels. Digital television will offer users more channels as well as significantly improved video and audio quality. Most importantly, digital television ushers in the age of true interactive television. For instance, digital receivers will be able to offer users a variety of enhanced services, from simple interactive quiz shows, to Internet over the air, and a mix of television and web-type content. As the market for digital television grows, content developers are looking for a feature-rich, cost-effective, and reliable software platform upon which to build the next generation of interactive television services such as Electronic Programming Guides, Video-On-Demand, and Enhanced Broadcasting.
Picture-in-picture is a capability that is common to many televisions that are currently available. However, picture-in-picture functionality is typically implemented in hardware. As digital television technology matures, it would be desirable if picture-in-picture functionality were implemented in software.
In addition to the environment in which picture-in-picture functionality is implemented, the functionality of picture-in-picture capabilities has been limited. For instance, the picture-in-picture window is typically constrained to a pre-determined location of the video monitor. Moreover, although a television viewer may wish to simultaneously view multiple channels, the capability of creating multiple picture-in-picture windows has not traditionally been available.
While picture-in-picture features are often important to consumers, equally as important is the compatibility of electronic devices supporting picture-in-picture functionality. In today""s technologically advanced society, televisions are typically intended to be compatible with VCRs and remote controls manufactured by other companies. It is therefore common for VCRs and televisions manufactured by different companies to be used in combination with one another. As a result, the remote controls provided with these VCRs and televisions are often used interchangeably. Similarly, universal remote controls are also in common use. Although these remote controls are intended to be compatible with a variety of televisions, there is rarely a one-to-one mapping between the functionality supported by the remote controls and those provided by the different television manufacturers. Moreover, since there are a wide variety of choices available to today""s consumer, it is impossible to predict the picture-in-picture capabilities of each television the remote control may be used with.
In view of the above, it would be desirable if it were possible to create a picture-in-picture window in a location selected by the television viewer. Moreover, it would be advantageous if the television viewer had the capability of creating multiple picture-in-picture windows. Finally, it would be desirable if these picture-in-picture functions could be implemented for use with any digital television that provides picture-in-picture functionality.
The present invention provides methods and apparatus for implementing a video window (e.g., picture-in-picture window) on a display associated with a digital television. This is accomplished, in part, through an application programming interface providing a set of methods enabling a video window to be created as well as queried. In this manner, a video window may be translated as well as scaled according to user specified parameters.
According to one aspect of the invention, an application programming interface provides a set video window method enabling a video window to be created. The set video window method has a set of parameters indicating a source region of an image, a destination position, and a scale factor indicating an amount that the source region is to be scaled when translated to the destination position. The set video window method may then be called to translate and scale the source region when the set of parameters are specified.
According to another aspect of the invention, the application programming interface provides a second method enabling values associated with the set of parameters to be obtained after the set video window method has been called to create a video window.
According to yet another aspect of the invention, a video component object implementing the application programming interface may be obtained for each video window existing within a display. As one example, a video component object may be obtained for an underlying image. As another example, a video component object may be obtained for each picture-in-picture video window.
According to another aspect of the invention, the present invention implements translation and scaling functionality such that a video image may be translated and/or scaled in accordance with varying hardware capabilities. Thus, the set video window method may accommodate various picture-in-picture capabilities available on the market. For instance, the number of picture-in-picture windows allowed on a television as well as the permitted location of a picture-in-picture window may vary. In this manner, a remote control may provide picture-in-picture functionality that is compatible with a variety of existing as well as contemplated televisions.
According to yet another aspect of the invention, the present invention is implemented on a Java platform. The Java platform provides an ideal development and deployment platform for this emerging class of interactive services. The Java programming language provides content developers with a high degree of control and flexibility of the xe2x80x9clook and feelxe2x80x9d of their applications, enabling them to deliver the most dynamic and compelling interactive television experiences to their audience. In addition, interactive television applications written in the Java programming language offer security, extensibility, and portability across a diverse array of television receivers, saving content developers time and money getting their interactive applications to market.
The present invention enables a video window to be translated as well as scaled to accommodate a variety of televisions. This is particularly advantageous when used in a device such as a remote control. In this manner, a viewer may operate a remote control without requiring knowledge of the capabilities of the television which the remote control operates.